package com.wulis.generator;

import com.wulis.generator.config.DatasourceConfig;
import com.wulis.generator.config.ProjectConfig;
import com.wulis.generator.config.TableConfig;
import com.wulis.generator.entrance.GeneratorEntrance;
import com.wulis.generator.model.Table;

/**
 * @author WuliBao
 */
public class CodeGenerator {

    /**
     * 代码生成入口
     * 
     * @param args args
     */
    public static void main(String[] args) {
        // 数据源配置
        DatasourceConfig datasourceConfig = DatasourceConfig.builder()
            // 数据源URL
            .url(
                "jdbc:mysql://192.168.110.188/spring-project?rewriteBatchedStatements=true&forceConnectionTimeZoneToSession=true")
            // 用户名
            .username("root")
            // 密码
            .password("root")
            // 驱动类
            .driverClassName("com.mysql.cj.jdbc.Driver").build();
        // 项目配置
        ProjectConfig projectConfig = ProjectConfig.build()
            // 包名
            .packageName("com.wulis.provider")
            // 功能模块名
            .functionModule("basic");
        // 表配置
        TableConfig tableConfig = TableConfig.build()
            // 过滤表前缀
            .prefix(new String[] {"basic_"})
            // 需要生成代码的表,是否需要生成crud代码和feign api 代码请自行配置
            .table(Table.build().name("basic_user_info").crud(true));
        // 开始代码生成
        GeneratorEntrance.generator(datasourceConfig, projectConfig, tableConfig);

    }

}
